package com.code.generator.entity;

import java.util.List;

import org.apache.commons.lang3.StringUtils;


/**
 * FIXME 类注释信息(此标记由Eclipse自动生成,请填写注释信息删除此标记)
 *
 *
 * @author 朱国军
 * @version 2014年8月25日 朱国军
 */
public class TableEntity {

    private String tableName;

    private String className;

    private String remark;

    private List<ColumnsEntity> columnsEntitys;


    /**
     * @return className 类名
     */
    public String getClassName() {
        return className;
    }


    /**
     * 返回类的变量名
     *
     * @return 类作为属性的变量名
     */
    public String getPropertyName() {
        return className.substring(0, 1).toLowerCase() + className.substring(1, className.length());
    }


    /**
     * @return tableName 表名
     */
    public String getTableName() {
        return tableName;
    }


    /**
     * 设置表名
     *
     * @param tableName 表名
     */
    public void setTableName(String tableName) {

        this.tableName = tableName;

        String[] words = StringUtils.split(tableName.toLowerCase(), "_");
        
        int start=0;
        if(tableName.startsWith("t_")||tableName.startsWith("T_")){
            start=1;
        }
        
        StringBuffer sb = new StringBuffer();
        for (int i=start;i<words.length;i++) {
            sb.append(StringUtils.capitalize(words[i]));
        }
        this.className = sb.toString();
    }


    /**
     * 获取表中文名
     *
     * @return 表中文名
     */
    public String getRemark() {
        return remark;
    }


    /**
     * @param remark 表中文名
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }


    /**
     * @return columnsEntitys
     */
    public List<ColumnsEntity> getColumnsEntitys() {
        return columnsEntitys;
    }


    /**
     * @param columnsEntitys 要设置的 columnsEntitys
     */
    public void setColumnsEntitys(List<ColumnsEntity> columnsEntitys) {
        this.columnsEntitys = columnsEntitys;
    }

}
